package org.dxy.domain.event.material;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 物料事件类型枚举
 * @author dxy
 * @createTime 2025/9/7
 */
@Getter
@AllArgsConstructor
public enum MaterialEventTypeEnum {

    /**
     * 物料已创建
     */
    CREATED("MaterialCreated", "物料已创建"),

    /**
     * 物料规格变更
     */
    SPECIFICATION_CHANGED("MaterialSpecificationChanged", "物料规格变更"),

    /**
     * 物料计量单位变更
     */
    UNIT_CHANGED("MaterialUnitChanged", "物料计量单位变更"),

    /**
     * 物料已启用
     */
    ENABLED("MaterialEnabled", "物料已启用"),

    /**
     * 物料已停用
     */
    DISABLED("MaterialDisabled", "物料已停用"),

    /**
     * 物料已删除
     */
    DELETED("MaterialDeleted", "物料已删除"),

    /**
     * 物料成本更新
     */
    COST_UPDATED("MaterialCostUpdated", "物料成本更新");

    /**
     * 事件类型键
     */
    private final String key;

    /**
     * 事件类型描述
     */
    private final String description;
}